package cn.whdream.mapper.sqlsqerver.ehaipost.dbo;

import static cn.whdream.mapper.sqlsqerver.ehaipost.dbo.BlockordercontractmainDynamicSqlSupport.*;

import cn.whdream.test.entity.ehaipost.dbo.Blockordercontractmain;
import java.util.List;
import javax.annotation.Generated;
import org.apache.ibatis.annotations.DeleteProvider;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.UpdateProvider;
import org.apache.ibatis.type.JdbcType;
import org.mybatis.dynamic.sql.SqlBuilder;
import org.mybatis.dynamic.sql.delete.DeleteDSL;
import org.mybatis.dynamic.sql.delete.MyBatis3DeleteModelAdapter;
import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
import org.mybatis.dynamic.sql.render.RenderingStrategy;
import org.mybatis.dynamic.sql.select.MyBatis3SelectModelAdapter;
import org.mybatis.dynamic.sql.select.QueryExpressionDSL;
import org.mybatis.dynamic.sql.select.SelectDSL;
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
import org.mybatis.dynamic.sql.update.MyBatis3UpdateModelAdapter;
import org.mybatis.dynamic.sql.update.UpdateDSL;
import org.mybatis.dynamic.sql.update.render.UpdateStatementProvider;
import org.mybatis.dynamic.sql.util.SqlProviderAdapter;

@Mapper
public interface BlockordercontractmainMapper {
    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @SelectProvider(type=SqlProviderAdapter.class, method="select")
    long count(SelectStatementProvider selectStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @DeleteProvider(type=SqlProviderAdapter.class, method="delete")
    int delete(DeleteStatementProvider deleteStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @InsertProvider(type=SqlProviderAdapter.class, method="insert")
    int insert(InsertStatementProvider<Blockordercontractmain> insertStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @SelectProvider(type=SqlProviderAdapter.class, method="select")
    @Results(id="BlockordercontractmainResult", value = {
        @Result(column="ContractID", property="contractid", jdbcType=JdbcType.INTEGER),
        @Result(column="ContractPK", property="contractpk", jdbcType=JdbcType.INTEGER),
        @Result(column="ContractType", property="contracttype", jdbcType=JdbcType.INTEGER),
        @Result(column="SettlementName", property="settlementname", jdbcType=JdbcType.VARCHAR),
        @Result(column="CarUseAt", property="caruseat", jdbcType=JdbcType.VARCHAR),
        @Result(column="DriveManagerAt", property="drivemanagerat", jdbcType=JdbcType.VARCHAR),
        @Result(column="InsuranceFee", property="insurancefee", jdbcType=JdbcType.DECIMAL),
        @Result(column="CreateDateTime", property="createdatetime", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="Creater", property="creater", jdbcType=JdbcType.VARCHAR),
        @Result(column="UpdateDateTime", property="updatedatetime", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="UpdateNo", property="updateno", jdbcType=JdbcType.VARCHAR),
        @Result(column="SubmitDateTime", property="submitdatetime", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="ContractSigningAt", property="contractsigningat", jdbcType=JdbcType.VARCHAR),
        @Result(column="IsDel", property="isdel", jdbcType=JdbcType.BIT),
        @Result(column="ContractStatus", property="contractstatus", jdbcType=JdbcType.CHAR),
        @Result(column="AttachmentContent", property="attachmentcontent", jdbcType=JdbcType.VARCHAR),
        @Result(column="AttachmentFeeMonthly", property="attachmentfeemonthly", jdbcType=JdbcType.DECIMAL),
        @Result(column="AttachmentFeeWith", property="attachmentfeewith", jdbcType=JdbcType.VARCHAR),
        @Result(column="IsCreatedOrder", property="iscreatedorder", jdbcType=JdbcType.BIT),
        @Result(column="AccountID", property="accountid", jdbcType=JdbcType.VARCHAR),
        @Result(column="SendCar", property="sendcar", jdbcType=JdbcType.BIT),
        @Result(column="CarMaintain", property="carmaintain", jdbcType=JdbcType.BIT),
        @Result(column="ISFinancing", property="isfinancing", jdbcType=JdbcType.INTEGER),
        @Result(column="FirstPaymentAmount", property="firstpaymentamount", jdbcType=JdbcType.DECIMAL),
        @Result(column="SavePurchaseAmount", property="savepurchaseamount", jdbcType=JdbcType.DECIMAL),
        @Result(column="DriverServiceAmount", property="driverserviceamount", jdbcType=JdbcType.DECIMAL),
        @Result(column="ContractRelationStatus", property="contractrelationstatus", jdbcType=JdbcType.CHAR),
        @Result(column="FlowNo", property="flowno", jdbcType=JdbcType.VARCHAR),
        @Result(column="StartTime", property="starttime", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="EndTime", property="endtime", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="ServiceCommitment", property="servicecommitment", jdbcType=JdbcType.VARCHAR),
        @Result(column="CarNoRequirement", property="carnorequirement", jdbcType=JdbcType.VARCHAR),
        @Result(column="OneTimeFee", property="onetimefee", jdbcType=JdbcType.DECIMAL),
        @Result(column="OneTimeFeeRemark", property="onetimefeeremark", jdbcType=JdbcType.VARCHAR),
        @Result(column="OldOrderNo", property="oldorderno", jdbcType=JdbcType.VARCHAR),
        @Result(column="OldDate", property="olddate", jdbcType=JdbcType.DATE),
        @Result(column="CarNoRequirementFee", property="carnorequirementfee", jdbcType=JdbcType.DECIMAL),
        @Result(column="CarUseCity", property="carusecity", jdbcType=JdbcType.VARCHAR),
        @Result(column="CarUseCityId", property="carusecityid", jdbcType=JdbcType.INTEGER),
        @Result(column="TakeCarPersonType", property="takecarpersontype", jdbcType=JdbcType.INTEGER),
        @Result(column="CopySourceContractId", property="copysourcecontractid", jdbcType=JdbcType.INTEGER),
        @Result(column="SignedCntTime", property="signedcnttime", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="DriverServiceAmountNetPrice", property="driverserviceamountnetprice", jdbcType=JdbcType.DECIMAL),
        @Result(column="DriverServiceChargeRate", property="driverservicechargerate", jdbcType=JdbcType.DOUBLE),
        @Result(column="CarNoRequirementAreaName", property="carnorequirementareaname", jdbcType=JdbcType.VARCHAR)
    })
    List<Blockordercontractmain> selectMany(SelectStatementProvider selectStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @UpdateProvider(type=SqlProviderAdapter.class, method="update")
    int update(UpdateStatementProvider updateStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default QueryExpressionDSL<MyBatis3SelectModelAdapter<Long>> countByExample() {
        return SelectDSL.selectWithMapper(this::count, SqlBuilder.count())
                .from(blockordercontractmain);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default DeleteDSL<MyBatis3DeleteModelAdapter<Integer>> deleteByExample() {
        return DeleteDSL.deleteFromWithMapper(this::delete, blockordercontractmain);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default int insert(Blockordercontractmain record) {
        return insert(SqlBuilder.insert(record)
                .into(blockordercontractmain)
                .map(contractid).toProperty("contractid")
                .map(contractpk).toProperty("contractpk")
                .map(contracttype).toProperty("contracttype")
                .map(settlementname).toProperty("settlementname")
                .map(caruseat).toProperty("caruseat")
                .map(drivemanagerat).toProperty("drivemanagerat")
                .map(insurancefee).toProperty("insurancefee")
                .map(createdatetime).toProperty("createdatetime")
                .map(creater).toProperty("creater")
                .map(updatedatetime).toProperty("updatedatetime")
                .map(updateno).toProperty("updateno")
                .map(submitdatetime).toProperty("submitdatetime")
                .map(contractsigningat).toProperty("contractsigningat")
                .map(isdel).toProperty("isdel")
                .map(contractstatus).toProperty("contractstatus")
                .map(attachmentcontent).toProperty("attachmentcontent")
                .map(attachmentfeemonthly).toProperty("attachmentfeemonthly")
                .map(attachmentfeewith).toProperty("attachmentfeewith")
                .map(iscreatedorder).toProperty("iscreatedorder")
                .map(accountid).toProperty("accountid")
                .map(sendcar).toProperty("sendcar")
                .map(carmaintain).toProperty("carmaintain")
                .map(isfinancing).toProperty("isfinancing")
                .map(firstpaymentamount).toProperty("firstpaymentamount")
                .map(savepurchaseamount).toProperty("savepurchaseamount")
                .map(driverserviceamount).toProperty("driverserviceamount")
                .map(contractrelationstatus).toProperty("contractrelationstatus")
                .map(flowno).toProperty("flowno")
                .map(starttime).toProperty("starttime")
                .map(endtime).toProperty("endtime")
                .map(servicecommitment).toProperty("servicecommitment")
                .map(carnorequirement).toProperty("carnorequirement")
                .map(onetimefee).toProperty("onetimefee")
                .map(onetimefeeremark).toProperty("onetimefeeremark")
                .map(oldorderno).toProperty("oldorderno")
                .map(olddate).toProperty("olddate")
                .map(carnorequirementfee).toProperty("carnorequirementfee")
                .map(carusecity).toProperty("carusecity")
                .map(carusecityid).toProperty("carusecityid")
                .map(takecarpersontype).toProperty("takecarpersontype")
                .map(copysourcecontractid).toProperty("copysourcecontractid")
                .map(signedcnttime).toProperty("signedcnttime")
                .map(driverserviceamountnetprice).toProperty("driverserviceamountnetprice")
                .map(driverservicechargerate).toProperty("driverservicechargerate")
                .map(carnorequirementareaname).toProperty("carnorequirementareaname")
                .build()
                .render(RenderingStrategy.MYBATIS3));
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default int insertSelective(Blockordercontractmain record) {
        return insert(SqlBuilder.insert(record)
                .into(blockordercontractmain)
                .map(contractid).toPropertyWhenPresent("contractid", record::getContractid)
                .map(contractpk).toPropertyWhenPresent("contractpk", record::getContractpk)
                .map(contracttype).toPropertyWhenPresent("contracttype", record::getContracttype)
                .map(settlementname).toPropertyWhenPresent("settlementname", record::getSettlementname)
                .map(caruseat).toPropertyWhenPresent("caruseat", record::getCaruseat)
                .map(drivemanagerat).toPropertyWhenPresent("drivemanagerat", record::getDrivemanagerat)
                .map(insurancefee).toPropertyWhenPresent("insurancefee", record::getInsurancefee)
                .map(createdatetime).toPropertyWhenPresent("createdatetime", record::getCreatedatetime)
                .map(creater).toPropertyWhenPresent("creater", record::getCreater)
                .map(updatedatetime).toPropertyWhenPresent("updatedatetime", record::getUpdatedatetime)
                .map(updateno).toPropertyWhenPresent("updateno", record::getUpdateno)
                .map(submitdatetime).toPropertyWhenPresent("submitdatetime", record::getSubmitdatetime)
                .map(contractsigningat).toPropertyWhenPresent("contractsigningat", record::getContractsigningat)
                .map(isdel).toPropertyWhenPresent("isdel", record::getIsdel)
                .map(contractstatus).toPropertyWhenPresent("contractstatus", record::getContractstatus)
                .map(attachmentcontent).toPropertyWhenPresent("attachmentcontent", record::getAttachmentcontent)
                .map(attachmentfeemonthly).toPropertyWhenPresent("attachmentfeemonthly", record::getAttachmentfeemonthly)
                .map(attachmentfeewith).toPropertyWhenPresent("attachmentfeewith", record::getAttachmentfeewith)
                .map(iscreatedorder).toPropertyWhenPresent("iscreatedorder", record::getIscreatedorder)
                .map(accountid).toPropertyWhenPresent("accountid", record::getAccountid)
                .map(sendcar).toPropertyWhenPresent("sendcar", record::getSendcar)
                .map(carmaintain).toPropertyWhenPresent("carmaintain", record::getCarmaintain)
                .map(isfinancing).toPropertyWhenPresent("isfinancing", record::getIsfinancing)
                .map(firstpaymentamount).toPropertyWhenPresent("firstpaymentamount", record::getFirstpaymentamount)
                .map(savepurchaseamount).toPropertyWhenPresent("savepurchaseamount", record::getSavepurchaseamount)
                .map(driverserviceamount).toPropertyWhenPresent("driverserviceamount", record::getDriverserviceamount)
                .map(contractrelationstatus).toPropertyWhenPresent("contractrelationstatus", record::getContractrelationstatus)
                .map(flowno).toPropertyWhenPresent("flowno", record::getFlowno)
                .map(starttime).toPropertyWhenPresent("starttime", record::getStarttime)
                .map(endtime).toPropertyWhenPresent("endtime", record::getEndtime)
                .map(servicecommitment).toPropertyWhenPresent("servicecommitment", record::getServicecommitment)
                .map(carnorequirement).toPropertyWhenPresent("carnorequirement", record::getCarnorequirement)
                .map(onetimefee).toPropertyWhenPresent("onetimefee", record::getOnetimefee)
                .map(onetimefeeremark).toPropertyWhenPresent("onetimefeeremark", record::getOnetimefeeremark)
                .map(oldorderno).toPropertyWhenPresent("oldorderno", record::getOldorderno)
                .map(olddate).toPropertyWhenPresent("olddate", record::getOlddate)
                .map(carnorequirementfee).toPropertyWhenPresent("carnorequirementfee", record::getCarnorequirementfee)
                .map(carusecity).toPropertyWhenPresent("carusecity", record::getCarusecity)
                .map(carusecityid).toPropertyWhenPresent("carusecityid", record::getCarusecityid)
                .map(takecarpersontype).toPropertyWhenPresent("takecarpersontype", record::getTakecarpersontype)
                .map(copysourcecontractid).toPropertyWhenPresent("copysourcecontractid", record::getCopysourcecontractid)
                .map(signedcnttime).toPropertyWhenPresent("signedcnttime", record::getSignedcnttime)
                .map(driverserviceamountnetprice).toPropertyWhenPresent("driverserviceamountnetprice", record::getDriverserviceamountnetprice)
                .map(driverservicechargerate).toPropertyWhenPresent("driverservicechargerate", record::getDriverservicechargerate)
                .map(carnorequirementareaname).toPropertyWhenPresent("carnorequirementareaname", record::getCarnorequirementareaname)
                .build()
                .render(RenderingStrategy.MYBATIS3));
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default QueryExpressionDSL<MyBatis3SelectModelAdapter<List<Blockordercontractmain>>> selectByExample() {
        return SelectDSL.selectWithMapper(this::selectMany, contractid, contractpk, contracttype, settlementname, caruseat, drivemanagerat, insurancefee, createdatetime, creater, updatedatetime, updateno, submitdatetime, contractsigningat, isdel, contractstatus, attachmentcontent, attachmentfeemonthly, attachmentfeewith, iscreatedorder, accountid, sendcar, carmaintain, isfinancing, firstpaymentamount, savepurchaseamount, driverserviceamount, contractrelationstatus, flowno, starttime, endtime, servicecommitment, carnorequirement, onetimefee, onetimefeeremark, oldorderno, olddate, carnorequirementfee, carusecity, carusecityid, takecarpersontype, copysourcecontractid, signedcnttime, driverserviceamountnetprice, driverservicechargerate, carnorequirementareaname)
                .from(blockordercontractmain);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default QueryExpressionDSL<MyBatis3SelectModelAdapter<List<Blockordercontractmain>>> selectDistinctByExample() {
        return SelectDSL.selectDistinctWithMapper(this::selectMany, contractid, contractpk, contracttype, settlementname, caruseat, drivemanagerat, insurancefee, createdatetime, creater, updatedatetime, updateno, submitdatetime, contractsigningat, isdel, contractstatus, attachmentcontent, attachmentfeemonthly, attachmentfeewith, iscreatedorder, accountid, sendcar, carmaintain, isfinancing, firstpaymentamount, savepurchaseamount, driverserviceamount, contractrelationstatus, flowno, starttime, endtime, servicecommitment, carnorequirement, onetimefee, onetimefeeremark, oldorderno, olddate, carnorequirementfee, carusecity, carusecityid, takecarpersontype, copysourcecontractid, signedcnttime, driverserviceamountnetprice, driverservicechargerate, carnorequirementareaname)
                .from(blockordercontractmain);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default UpdateDSL<MyBatis3UpdateModelAdapter<Integer>> updateByExample(Blockordercontractmain record) {
        return UpdateDSL.updateWithMapper(this::update, blockordercontractmain)
                .set(contractid).equalTo(record::getContractid)
                .set(contractpk).equalTo(record::getContractpk)
                .set(contracttype).equalTo(record::getContracttype)
                .set(settlementname).equalTo(record::getSettlementname)
                .set(caruseat).equalTo(record::getCaruseat)
                .set(drivemanagerat).equalTo(record::getDrivemanagerat)
                .set(insurancefee).equalTo(record::getInsurancefee)
                .set(createdatetime).equalTo(record::getCreatedatetime)
                .set(creater).equalTo(record::getCreater)
                .set(updatedatetime).equalTo(record::getUpdatedatetime)
                .set(updateno).equalTo(record::getUpdateno)
                .set(submitdatetime).equalTo(record::getSubmitdatetime)
                .set(contractsigningat).equalTo(record::getContractsigningat)
                .set(isdel).equalTo(record::getIsdel)
                .set(contractstatus).equalTo(record::getContractstatus)
                .set(attachmentcontent).equalTo(record::getAttachmentcontent)
                .set(attachmentfeemonthly).equalTo(record::getAttachmentfeemonthly)
                .set(attachmentfeewith).equalTo(record::getAttachmentfeewith)
                .set(iscreatedorder).equalTo(record::getIscreatedorder)
                .set(accountid).equalTo(record::getAccountid)
                .set(sendcar).equalTo(record::getSendcar)
                .set(carmaintain).equalTo(record::getCarmaintain)
                .set(isfinancing).equalTo(record::getIsfinancing)
                .set(firstpaymentamount).equalTo(record::getFirstpaymentamount)
                .set(savepurchaseamount).equalTo(record::getSavepurchaseamount)
                .set(driverserviceamount).equalTo(record::getDriverserviceamount)
                .set(contractrelationstatus).equalTo(record::getContractrelationstatus)
                .set(flowno).equalTo(record::getFlowno)
                .set(starttime).equalTo(record::getStarttime)
                .set(endtime).equalTo(record::getEndtime)
                .set(servicecommitment).equalTo(record::getServicecommitment)
                .set(carnorequirement).equalTo(record::getCarnorequirement)
                .set(onetimefee).equalTo(record::getOnetimefee)
                .set(onetimefeeremark).equalTo(record::getOnetimefeeremark)
                .set(oldorderno).equalTo(record::getOldorderno)
                .set(olddate).equalTo(record::getOlddate)
                .set(carnorequirementfee).equalTo(record::getCarnorequirementfee)
                .set(carusecity).equalTo(record::getCarusecity)
                .set(carusecityid).equalTo(record::getCarusecityid)
                .set(takecarpersontype).equalTo(record::getTakecarpersontype)
                .set(copysourcecontractid).equalTo(record::getCopysourcecontractid)
                .set(signedcnttime).equalTo(record::getSignedcnttime)
                .set(driverserviceamountnetprice).equalTo(record::getDriverserviceamountnetprice)
                .set(driverservicechargerate).equalTo(record::getDriverservicechargerate)
                .set(carnorequirementareaname).equalTo(record::getCarnorequirementareaname);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default UpdateDSL<MyBatis3UpdateModelAdapter<Integer>> updateByExampleSelective(Blockordercontractmain record) {
        return UpdateDSL.updateWithMapper(this::update, blockordercontractmain)
                .set(contractid).equalToWhenPresent(record::getContractid)
                .set(contractpk).equalToWhenPresent(record::getContractpk)
                .set(contracttype).equalToWhenPresent(record::getContracttype)
                .set(settlementname).equalToWhenPresent(record::getSettlementname)
                .set(caruseat).equalToWhenPresent(record::getCaruseat)
                .set(drivemanagerat).equalToWhenPresent(record::getDrivemanagerat)
                .set(insurancefee).equalToWhenPresent(record::getInsurancefee)
                .set(createdatetime).equalToWhenPresent(record::getCreatedatetime)
                .set(creater).equalToWhenPresent(record::getCreater)
                .set(updatedatetime).equalToWhenPresent(record::getUpdatedatetime)
                .set(updateno).equalToWhenPresent(record::getUpdateno)
                .set(submitdatetime).equalToWhenPresent(record::getSubmitdatetime)
                .set(contractsigningat).equalToWhenPresent(record::getContractsigningat)
                .set(isdel).equalToWhenPresent(record::getIsdel)
                .set(contractstatus).equalToWhenPresent(record::getContractstatus)
                .set(attachmentcontent).equalToWhenPresent(record::getAttachmentcontent)
                .set(attachmentfeemonthly).equalToWhenPresent(record::getAttachmentfeemonthly)
                .set(attachmentfeewith).equalToWhenPresent(record::getAttachmentfeewith)
                .set(iscreatedorder).equalToWhenPresent(record::getIscreatedorder)
                .set(accountid).equalToWhenPresent(record::getAccountid)
                .set(sendcar).equalToWhenPresent(record::getSendcar)
                .set(carmaintain).equalToWhenPresent(record::getCarmaintain)
                .set(isfinancing).equalToWhenPresent(record::getIsfinancing)
                .set(firstpaymentamount).equalToWhenPresent(record::getFirstpaymentamount)
                .set(savepurchaseamount).equalToWhenPresent(record::getSavepurchaseamount)
                .set(driverserviceamount).equalToWhenPresent(record::getDriverserviceamount)
                .set(contractrelationstatus).equalToWhenPresent(record::getContractrelationstatus)
                .set(flowno).equalToWhenPresent(record::getFlowno)
                .set(starttime).equalToWhenPresent(record::getStarttime)
                .set(endtime).equalToWhenPresent(record::getEndtime)
                .set(servicecommitment).equalToWhenPresent(record::getServicecommitment)
                .set(carnorequirement).equalToWhenPresent(record::getCarnorequirement)
                .set(onetimefee).equalToWhenPresent(record::getOnetimefee)
                .set(onetimefeeremark).equalToWhenPresent(record::getOnetimefeeremark)
                .set(oldorderno).equalToWhenPresent(record::getOldorderno)
                .set(olddate).equalToWhenPresent(record::getOlddate)
                .set(carnorequirementfee).equalToWhenPresent(record::getCarnorequirementfee)
                .set(carusecity).equalToWhenPresent(record::getCarusecity)
                .set(carusecityid).equalToWhenPresent(record::getCarusecityid)
                .set(takecarpersontype).equalToWhenPresent(record::getTakecarpersontype)
                .set(copysourcecontractid).equalToWhenPresent(record::getCopysourcecontractid)
                .set(signedcnttime).equalToWhenPresent(record::getSignedcnttime)
                .set(driverserviceamountnetprice).equalToWhenPresent(record::getDriverserviceamountnetprice)
                .set(driverservicechargerate).equalToWhenPresent(record::getDriverservicechargerate)
                .set(carnorequirementareaname).equalToWhenPresent(record::getCarnorequirementareaname);
    }
}